package server;




import java.util.SortedMap;

import utils.UserData;

/** Here all the system users are collected. Currently it's used just to keep a list of the
 * currently active clients (the ones having an ongoing tagging procedure). But if we wanted to make clients
 * able to register e.g. to an hypothetical knowledge base as mentioned in the presentation day, this component would be
 * much more useful, as it could keep track of the currently online users, managing user's credentials and personal information
 * and talk to the DB in order to store/fetch them.
 */
public interface UsersManager {

	
	public void addUser (UserData userData);
	
	
	public UserData getUser (String address);

	public SortedMap<String, UserData> getUsers();
	
	public void closeDataSource ();

	public UserData getUserCopy(int userId);

	public void removeUser(String key);
	
}
